﻿<?xml version="1.0" encoding="utf-8"?>
<Config>
  <SearchAlgorithm>Minimal Criteria Search</SearchAlgorithm>
  <SelectionAlgorithm>Queueing</SelectionAlgorithm>
  <MaxInitializationEvaluations>100000</MaxInitializationEvaluations>
  <AgentPopulationSize>500</AgentPopulationSize>
  <MazePopulationSize>100</MazePopulationSize>
  <AgentSeedGenomeCount>20</AgentSeedGenomeCount>
  <MazeSeedGenomeCount>10</MazeSeedGenomeCount>
  <AgentNumSpecies>20</AgentNumSpecies>
  <MazeNumSpecies>10</MazeNumSpecies>
  <AgentSpecieSizeFixed>False</AgentSpecieSizeFixed>
  <MazeSpecieSizeFixed>False</MazeSpecieSizeFixed>
  <Activation>
    <Scheme>Acyclic</Scheme>
  </Activation>
  <GenomeConfig>
    <InitialConnectionProportion>1</InitialConnectionProportion>
    <WeightMutationProbability>0.7</WeightMutationProbability>
    <AddConnnectionProbability>0.1</AddConnnectionProbability>
    <AddNodeProbability>0.01</AddNodeProbability>
    <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
    <ConnectionWeightRange>5</ConnectionWeightRange>
  </GenomeConfig>
  <MazeGenomeConfig>
    <MutateWallStartLocationProbability>0.05</MutateWallStartLocationProbability>
    <MutatePassageStartLocationProbability>0.05</MutatePassageStartLocationProbability>
    <MutateAddWallProbability>0.7</MutateAddWallProbability>
    <PerturbanceMagnitude>0.1</PerturbanceMagnitude>
  </MazeGenomeConfig>
  <BehaviorConfig>
    <BehaviorCharacterization>End Point</BehaviorCharacterization>
  </BehaviorConfig>
  <NavigatorOffspringBatchSize>50</NavigatorOffspringBatchSize>
  <MazeOffspringBatchSize>5</MazeOffspringBatchSize>
  <MaxEvaluations>
  </MaxEvaluations>
  <MaxGenerations>2000</MaxGenerations>
  <MaxTimesteps>600</MaxTimesteps>
  <MinSuccessDistance>5</MinSuccessDistance>
  <MazeHeight>10</MazeHeight>
  <MazeWidth>10</MazeWidth>
  <MazeScaleMultiplier>32</MazeScaleMultiplier>
  <NumMazesSolvedCriteria>1</NumMazesSolvedCriteria>
  <NumAgentsSolvedCriteria>1</NumAgentsSolvedCriteria>
  <NumAgentsFailedCriteria>0</NumAgentsFailedCriteria>
  <InitializationAlgorithmConfig>
    <SearchAlgorithm>Novelty Search</SearchAlgorithm>
    <SelectionAlgorithm>Steady State</SelectionAlgorithm>
    <PopulationSize>250</PopulationSize>
    <SpecieCount>15</SpecieCount>
    <OffspringBatchSize>20</OffspringBatchSize>
    <PopulationEvaluationFrequency>30</PopulationEvaluationFrequency>
    <ComplexityRegulationStrategy>Relative</ComplexityRegulationStrategy>
    <ComplexityThreshold>30</ComplexityThreshold>
    <SelectionProportion>0.2</SelectionProportion>
    <OffspringAsexualProbability>0.5</OffspringAsexualProbability>
    <OffspringSexualProbability>0.5</OffspringSexualProbability>
    <InterspeciesMatingProbability>0.001</InterspeciesMatingProbability>
    <GenomeConfig>
      <InitialConnectionProportion>1</InitialConnectionProportion>
      <WeightMutationProbability>0.9</WeightMutationProbability>
      <AddConnnectionProbability>0.05</AddConnnectionProbability>
      <AddNodeProbability>0.005</AddNodeProbability>
      <DeleteConnectionProbability>0.001</DeleteConnectionProbability>
      <ConnectionWeightRange>5</ConnectionWeightRange>
    </GenomeConfig>
    <InitBehaviorConfig>
      <BehaviorCharacterization>End Point</BehaviorCharacterization>
    </InitBehaviorConfig>
    <NearestNeighbors>15</NearestNeighbors>
    <NoveltyConfig>
      <ArchiveAdditionThreshold>6</ArchiveAdditionThreshold>
      <ArchiveThresholdDecreaseMultiplier>0.95</ArchiveThresholdDecreaseMultiplier>
      <ArchiveThresholdIncreaseMultiplier>1.3</ArchiveThresholdIncreaseMultiplier>
      <MaxGenerationalArchiveAddition>5</MaxGenerationalArchiveAddition>
      <MaxGenerationsWithoutArchiveAddition>10</MaxGenerationsWithoutArchiveAddition>
    </NoveltyConfig>
  </InitializationAlgorithmConfig>
  <PopulationLoggingBatchInterval>10</PopulationLoggingBatchInterval>
  <Description>
    Coevolutionary MCS Maze navigation experiment, evolving both maze navigators and the mazes themselves.
  </Description>
</Config>